A cache is a computer component that transparently stores data such that future requests for that data can be provided faster. Data stored in a cache can include unique values that have been computed earlier or duplicates of original values that are stored elsewhere, such as in a far (or main) memory. If requested data is in the cache, this request can be handled by reading the cache, which is comparatively faster than reading far-memory. Otherwise, the requested data is fetched from its original storage location. Thus, requests for data that is in the cache can typically be handled faster than for data that is not in the cache.
Memory-side caches employed today, particularly for high bandwidth memory-side caches, are also high capacity, getting as large as 32 gigabytes (GB) or larger. A result of this large size means storing cache tags for such a cache has become expensive in terms of taking up additional cache memory space. As a result, to reduce cache memory required to store cache tag arrays, large memory-side caches are direct mapped as opposed to set-associative mapped.